package saves;

import game.Idioma;
import game.Data.RacaInfo;
import java.awt.Color;
import java.io.Serializable;

public class Faccao implements Serializable {

    private static final long serialVersionUID = -1164132110612079188L;
    private String nome;
    private RacaInfo racaControle;
    private float influencia, indiceAgressividade, indiceIdioma;
    private Idioma[] idiomas;
    private Color corOficial;
    
    public static final float VALOR_NULO = -1;
    public static final Color DEFAULT_COLOR = new Color(255, 0, 0);

    @SuppressWarnings("unused")
    private Faccao() {
    }

    public Faccao(RacaInfo racaControle, float influencia, float indiceAgressividade) {
        this(null, racaControle, influencia, indiceAgressividade, VALOR_NULO, null, DEFAULT_COLOR);
    }

    public Faccao(String nome, RacaInfo racaControle, float influencia, float indiceAgressividade, float indiceIdioma, Idioma[] idiomas, Color corOficial) {
        this.nome = nome;
        this.racaControle = racaControle;
        this.influencia = influencia;
        this.indiceAgressividade = indiceAgressividade;
        this.idiomas = idiomas;
        this.corOficial = corOficial;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public RacaInfo getRacaControle() {
        return racaControle;
    }

    public float getInfluencia() {
        return influencia;
    }

    public float getIndiceAgressividade() {
        return indiceAgressividade;
    }

    public float getIndiceIdioma() {
        return indiceIdioma;
    }

    public void setIndiceIdioma(float indiceIdioma) {
        this.indiceIdioma = indiceIdioma;
    }

    public Idioma[] getIdiomas() {
        return idiomas;
    }

    public void setIdioma(Idioma[] idiomas) {
        this.idiomas = idiomas;
    }

    public Color getCorOficial() {
        return corOficial;
    }

    public void setCorOficial(Color corOficial) {
        this.corOficial = corOficial;
    }
}
